package com.papercutting.platform.dto.request;

import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;

/**
 * 教程步骤请求DTO
 */
@Data
public class TutorialStepRequest {
    
    private Long id;
    
    @NotNull(message = "教程ID不能为空")
    private Long tutorialId;
    
    @NotNull(message = "步骤编号不能为空")
    @Min(value = 1, message = "步骤编号必须大于0")
    private Integer stepNumber;
    
    @NotBlank(message = "步骤标题不能为空")
    @Size(max = 200, message = "步骤标题长度不能超过200个字符")
    private String title;
    
    private String description;
    
    @Size(max = 500, message = "图片URL长度不能超过500个字符")
    private String imageUrl;
    
    @Size(max = 500, message = "视频URL长度不能超过500个字符")
    private String videoUrl;

    private Integer videoDuration;

    @Size(max = 500, message = "小贴士长度不能超过500个字符")
    private String tips;
    
    @Min(value = 0, message = "排序号不能为负数")
    private Integer sortOrder = 0;
}
